package aufgabe1.teilaufgabe2;

public class Main {

	/**
	 * Author: Redenius, Winter
	 */

	public static void main(String[] args) {

		System.out.println("############################");
		System.out.println("##########Iterativ##########");
		System.out.println("############################");
		Listen b = new Listen();
		b.setCounter(0);
		b.insert(0, 1);
		b.insert(0, 2);
		b.insert(0, 3);
		b.insert(0, 4);
		System.out.println("GET0 " + b.get(0));
		System.out.println("GET1 " + b.get(1));
		System.out.println("GET2 " + b.get(2));
		System.out.println("GET3 " + b.get(3));
		System.out.println("############################");
		b.insert(2, 6);
		System.out.println("GET0 " + b.get(0));
		System.out.println("GET0 " + b.get(1));
		System.out.println("GET0 " + b.get(2));
		System.out.println("GET0 " + b.get(3));
		System.out.println("GET0 " + b.get(4));
		System.out.println(b.getCounter());

		System.out.println("############################");
		System.out.println("##########Rekursiv##########");
		System.out.println("############################");
		Listen c = new Listen();
		c.setCounter(0);
		c.insert(0, 1);
		c.insert(0, 2);
		c.insert(0, 3);
		c.insert(0, 4);
		c.insertRec(3, 7);
		c.ausgabe();
		System.out.println(c.getCounter());
		System.out.println("############################");
		Listen d = new Listen();
		d.setCounter(0);
		d.insert(0, 4);
		d.insert(0, 3);
		d.insert(0, 2);
		d.insert(0, 1);
		System.out.println("GET0 " + d.get(0));
		System.out.println("GET1 " + d.get(1));
		System.out.println("GET2 " + d.get(2));
		System.out.println("GET3 " + d.get(3));
		System.out.println(d.testmergesort());
		System.out.println("##################RANDOM##########");
		Listen random = RandomList.generateListenSorted(30);
		// random.ausgabe();
		System.out.println(random.testmergesort());

		Listen random1 = RandomList.generateListenSorted(5);
		Listen random2 = RandomList.generateListenSorted(5);

		System.out.println("##################Merge##########");
		System.out.println("##################Liste1##########");
		random1.ausgabe();
		System.out.println("##################Liste2##########");
		random2.ausgabe();
		System.out.println("##################RETURN##########");
		Listen ret = Listen.merge(random1, random2);
		ret.ausgabe();

		Listen random3 = RandomList.generateListenUnsorted(7);
		random3.ausgabe();

		System.out.println("##################MergeSort##########");

		Listen mergesort = random3.mergesort();
		mergesort.ausgabe();

	}

}
